﻿

Namespace YahooManaged.Finance.Screener.StockCriterias

    Public Class EarningsGrowthPast5YearsCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Earnings Growth (past 5 years) Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Earnings Growth (past 5 years)"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.EarningsGrowth_Past5Years}
            End Get
        End Property

        Public Sub New()
            MyBase.New("8v")
        End Sub
    End Class

    Public Class RevenueEstimateThisQuarterCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Revenue Estimate (this quarter) Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Revenue Estimate (this quarter)"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.RevenueEstimate_ThisQuarter}
            End Get
        End Property

        Public Sub New()
            MyBase.New("9a")
        End Sub
    End Class

    Public Class RevenueEstimateNextQuarterCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Revenue Estimate (next quarter) Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Revenue Estimate (next quarter)"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.RevenueEstimate_NextQuarter}
            End Get
        End Property

        Public Sub New()
            MyBase.New("8q")
        End Sub
    End Class

    Public Class SalesGrowthEstNextQuarterCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Sales Growth Estimate (next quarter) Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Sales Growth Estimate (next quarter)"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.SalesGrowthEstimate_NextQuarter}
            End Get
        End Property

        Public Sub New()
            MyBase.New("8s")
        End Sub
    End Class

    Public Class SalesGrowthEstThisYearCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Sales Growth Estimate (this year) Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Sales Growth Estimate (this year)"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.SalesGrowthEstimate_ThisYear}
            End Get
        End Property

        Public Sub New()
            MyBase.New("8t")
        End Sub
    End Class

    Public Class SalesGrowthEstNextYearCriteria
        Inherits StockDigitCriteriaDefinition

        Public Overrides ReadOnly Property DisplayName As String
            Get
                Return "Sales Growth Estimate (next year)Criteria"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaName As String
            Get
                Return "Sales Growth Estimate"
            End Get
        End Property

        Public Overrides ReadOnly Property CriteriaGroup As StockScreenerCriteriaGroup
            Get
                Return StockScreenerCriteriaGroup.Growth
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedQuoteProperties As QuoteProperty()
            Get
                Return {QuoteProperty.Symbol, _
                        QuoteProperty.Name, _
                        QuoteProperty.LastTradePriceOnly, _
                        QuoteProperty.LastTradeTime, _
                        QuoteProperty.MarketCapitalization}
            End Get
        End Property
        Public Overrides ReadOnly Property ProvidedScreenerProperties As StockScreenerProperty()
            Get
                Return {StockScreenerProperty.ReturnOnEquity, _
                        StockScreenerProperty.ReturnOnAssets, _
                        StockScreenerProperty.ForwardPriceToEarningsRatio, _
                        StockScreenerProperty.SalesGrowthEstimate_NextYear}
            End Get
        End Property

        Public Sub New()
            MyBase.New("8k")
        End Sub
    End Class

End Namespace
